import os
import xlwt

# 1️⃣ 设置目标路径（你指定的文件夹）
target_dir = r'C:\Users\wuxia\Desktop\unity工具\代码库'

# 2️⃣ 获取脚本所在目录
script_dir = os.path.dirname(os.path.abspath(__file__))

# 3️⃣ 获取当前目录下的文件和文件夹名
files = []
folders = []

for item in os.listdir(target_dir):
    full_path = os.path.join(target_dir, item)
    if os.path.isfile(full_path):
        files.append(item)
    elif os.path.isdir(full_path):
        folders.append(item)

# 4️⃣ 创建 Excel 文件路径（保存到脚本所在目录）
output_file_xls = os.path.join(script_dir, "目录结构.xls")
output_file_xlsx = os.path.join(script_dir, "目录结构.xlsx")

# 5️⃣ 选择写入方式（任选其一）

# ✅ 方案一：使用 xlwt 写入 .xls 文件
try:
    import xlwt
    wb = xlwt.Workbook(encoding='utf-8')
    ws = wb.add_sheet("目录结构")

    # 写入标题
    ws.write(0, 0, "类型")
    ws.write(0, 1, "名称")

    # 写入文件夹
    row = 1
    for folder in folders:
        ws.write(row, 0, "文件夹")
        ws.write(row, 1, folder)
        row += 1

    # 写入文件
    for file in files:
        ws.write(row, 0, "文件")
        ws.write(row, 1, file)
        row += 1

    # 保存 .xls 文件
    wb.save(output_file_xls)
    print(f"📊 已生成 Excel 文件（.xls）：{output_file_xls}")

except ImportError:
    print("⚠️ 未安装 xlwt 库，无法生成 .xls 文件")

# ✅ 方案二：使用 openpyxl 写入 .xlsx 文件
try:
    from openpyxl import Workbook

    wb = Workbook()
    ws = wb.active
    ws.title = "目录结构"

    # 写入标题
    ws.append(["类型", "名称"])

    # 写入文件夹
    for folder in folders:
        ws.append(["文件夹", folder])

    # 写入文件
    for file in files:
        ws.append(["文件", file])

    # 保存 .xlsx 文件
    wb.save(output_file_xlsx)
    print(f"📊 已生成 Excel 文件（.xlsx）：{output_file_xlsx}")

except ImportError:
    print("⚠️ 未安装 openpyxl 库，无法生成 .xlsx 文件")